package com.ruicar.afs.cloud.risk.api.dto.business;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description 车辆信息
 * @Author Peng Jinbo
 * @Date 2020/07/21 20:51
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ApplyCarInfo implements Serializable {

    /**
     * Apply no
     */
    private String applyNo;

    /**
     * New car sale price
     * 新车销售价
     */
    private BigDecimal newCarSalePrice;

    /**
     * Car vendor name
     * 售车人姓名(二手车)
     */
    private String carVendorName;

    /**
     * Car vendor phone
     * 售车人电话(二手车)
     */
    private String carVendorPhone;

    /**
     * Car vendor address
     * 售车人联系地址(二手车)
     */
    private String carVendorAddress;

    /**
     * Car brand no
     * 车牌号
     */
    private String licensePlate;

    /**
     * Second deal car price
     * 二手车交易价格
     */
    private BigDecimal secondDealCarPrice;

    /**
     * Third prospect price
     * 第三方评估价格
     */
    private BigDecimal thirdProspectPrice;

    /**
     * First register date
     * 首次登记日期
     */
    @JSONField(name = "firstRegisterDate",format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date firstRegisterDate;

    /**
     * Car model
     * 车身级别
     */
    private String carModel;

    /**
     * Vin
     * 车架号
     */
    private String vin;

    /**
     * Engine no
     * 发动机号
     */
    private String engineNo;

    /**
     * Brand
     * 车辆品牌
     */
    private String brand;

    /**
     * Brand name
     * 车辆品牌名称
     */
    private String brandName;

    /**
     * Register province
     * 注册地省份
     */
    private String registerProvince;


    /**
     * Register province name
     */
    private String registerProvinceName;

    /**
     * Register city
     * 注册地城市
     */
    private String registerCity;

    /**
     * Register city name
     */
    private String registerCityName;

    /**
     * Buy province
     * 购车地省份
     */
    private String buyProvince;

    /**
     * Buy province name
     */
    private String buyProvinceName;

    /**
     * Buy city
     * 购车地城市
     */
    private String buyCity;

    /**
     * Buy city name
     */
    private String buyCityName;

    /**
     * Brand province
     * 上牌省份
     */
    private String plateProvince;

    /**
     * Plate province name
     */
    private String plateProvinceName;

    /**
     * Brand city
     * 上牌城市
     */
    private String plateCity;

    /**
     * Plate city name
     */
    private String plateCityName;

    /**
     * Buy purpose
     * 购车目的
     */
    private String buyPurpose;

    /**
     * Asset code
     * 资产编码(新车)
     */
    private String assetCode;

    /**
     * Option price
     * 选装价格(新车)
     */
    private BigDecimal optionPrice;

    /**
     * Guide price
     * 指导价(新车)
     */
    private BigDecimal guidePrice;

    /**
     * Vehicle type
     * 车辆类型
     */
    private String vehicleType;

    /**
     * 车型
     */
    private String vehicleModel;

    /**
     * Vehicle model name
     */
    private String vehicleModelName;

    /**
     * Car style
     * 车辆款式
     */
    private String carStyle;

    /**
     * Car style name
     */
    private String carStyleName;

    /**
     * Owner id card
     * 车辆所有人身份证(二手车)
     */
    private String ownerIdCard;

    /**
     * Owner company name
     * 车辆所有人单位名称(二手车)
     */
    private String ownerCompanyName;

    /**
     * Registration
     * 是否已上牌(二手车)
     */
    private String registration;

    /**
     * Make date
     * 出厂日期(二手车)
     */
    @JSONField(name = "makeDate",format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date makeDate;

    /**
     * Plate car ticket date
     */
    @JSONField(name = "plateCarTicketDate",format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date plateCarTicketDate;

    /**
     * Green power
     */
    private String greenPower;

    /**
     * Transfer times
     * 总过户次数
     */
    private Integer transferTimes;

    /**
     * Mileage
     * 表显里程
     */
    private BigDecimal mileage;

}
